
p1= 181374114466877670648532396603508572553
q1= 247588361882524320257263048684537007431
p2= 250300358872644907496990639170926211271
q2= 311991043797033811345420439880439753801
n1= 44906119888747698345512179582951804775114233952572843592134108434385163641343
n2= 78091470227448637872015323212263779481065170253775069214887468177576951291071
c1= 9866716045905392889073148813979506773491374338489530684028153975324697416911
c2= 55892489777087355045136246189511934204493824253870936685827466467250609643059
e=65537

#解法1
import libnum
phi1=(p1-1)*(q1-1)
d1=libnum.invmod(e,phi1)
phi2=(p2-1)*(q2-1)
d2=libnum.invmod(e,phi2)
m1=pow(c1,d1,n1)
m2=pow(c2,d2,n2)
m=libnum.solve_crt([m1,m2],[n1,n2])
print(libnum.n2s(m))

#解法2
import libnum
c=libnum.solve_crt([c1,c2],[n1,n2])
phi=(p1-1)*(q1-1)*(p2-1)*(q2-1)
d=libnum.invmod(e,phi)
m=pow(c,d,n1*n2)
print(libnum.n2s(m))